package com.netty.protobuf;

import com.ruoyi.socket.util.FileUtils;
import com.ruoyi.socket.util.anbaobr.SdkParse;
import lombok.ToString;
import org.junit.jupiter.api.Test;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/***
 *  @description 解析安保呼吸机的测试
 *  @author zhao
 *  @date: 2020/6/12
 *  @version: v1.0
 */
public class DoTestAnBao {

    @Test
    public void test01() {
        String data = "<56Mi0000010564f401b1021e0501001e00090001ff00ff000c0f28140cffffffff0480080011513632383936322b>";
        Map map = SdkParse.parseText(data);
        System.out.println(map);
    }

    /***
     * 解析文件中的数据，并转为安保Map
     */
    @Test
    public void test02() {
        List<String> strings = FileUtils.readFileByCharUseBuffer(null);
        for (String content : strings) {
            Map map = SdkParse.parseText(content);
            System.out.println(map);
        }
    }

    /**
     * 解析map返回可读数据
     * @param map
     */
    @Test
    public void test3(Map map){


        //机械通气频率(Fsp)
        String jxtqpl = (String) map.get("jxtqpl");
        // 吸入潮气量
        String xrcql = (String) map.get("xrcql");
        //潮气量(Vt)
        String cql = (String) map.get("cql");
        //				ETCO2
        String etc02 = (String) map.get("etc02");

//				FiO2偏高
//        "fiopg",
//				FiO2偏低
//                "fiopd",

//        I:E ipap epap 没有
//        mvi 没有


//        通气状态
        String tgzt = (String) map.get("tgzt");
//        气道压力
        String qdyl = (String) map.get("qdyl");
//         呼吸流速
        String hxls = (String) map.get("hxls");
//         呼吸容量
        String hxrl = (String) map.get("hxrl");
//         CO2波形值
        String coobxz = (String) map.get("coobxz");

        //				气道峰压(Ppeak)
        String qdfy = (String) map.get("qdfy");
        //气道压力上限Pmax
        String qdylsx = (String) map.get("qdylsx");
        //呼吸频率(Freq)
        String hxpl = (String) map.get("hxpl");

        //波形参数(Mn)



        // 返回前端数据结构
        final Map<String, String> Maps = new HashMap<String, String>();
        Maps.put("Vti",xrcql);
        Maps.put("Fsp",jxtqpl);
        // 每分吸入通气量
//        Maps.put("Mvi",);
        Maps.put("EtCO2",etc02);
        // 吸入氧气分数
//        Maps.put("FiO2",);
        //	气道峰压(Ppeak)
        Maps.put("Ppeak",qdfy);
        // 平均气道压力
        Maps.put("Pmean",qdyl);

        //I ：E

        //潮气量(Vt)
        Maps.put("Vt",cql);
        //呼吸频率(Freq)
        Maps.put("Freq",hxpl);
        //气道压力上限Pmax
        Maps.put("Pmax",qdylsx);
        // 波形数据
        Maps.put("CoWave",coobxz);
        //
        String cflx = (String) map.get("cflx");
        String zxpl = (String) map.get("zxpl");
        String zcyl = (String) map.get("zcyl");
        String hxms = (String) map.get("hxms");
        String coomksz = (String) map.get("coomksz");
        String type = (String) map.get("type");
        String txzq = (String) map.get("txzq");
        String hqsj = (String) map.get("hqsj");
        String hqcf = (String) map.get("hqcf");
        String hxzhyl = (String) map.get("hxzhyl");
        String order = (String) map.get("order");

        String cfc = (String) map.get("cfc");
        String secretKey = (String) map.get("secretKey");
        String xqsj = (String) map.get("xqsj");
        String ylsssj = (String) map.get("ylsssj");
        String zxyl = (String) map.get("zxyl");
        String cfyz = (String) map.get("cfyz");
        String hqmzy = (String) map.get("hqmzy");
        String ylxz = (String) map.get("ylxz");


    }


}
